As used herein, the term “digital document” is used to describe a digital representation of any type of data processed by a data processing system which is intended, ultimately, to be output in some form, in whole or in part, to a human user, typically by being displayed or reproduced visually (e.g., by means of a visual display unit or printer), or by text-to-speech conversion, etc. A digital document may include any features capable of representation, including but not limited to the following: text; graphical images; animated graphical images; full motion video images; interactive icons, buttons, menus or hyperlinks. A digital document may also include non-visual elements such as audio (sound) elements.
Data processing systems, such as personal computer systems, are typically required to process “digital documents,” which may originate from any one of a number of local or remote sources and which may exist in any one of a wide variety of data formats (“file formats”). In order to generate an output version of the document, whether as a visual display or printed copy, for example, it is necessary for the computer system to interpret the original data file and to generate an output compatible with the relevant output device (e.g., monitor, or other visual display device or printer). In general, this process will involve an application program adapted to interpret the data file, the operating system of the computer, a software “driver” specific to the desired output device and, in some cases (particularly for monitors or other visual display units), additional hardware in the form of an expansion card.
This conventional approach to the processing of digital documents in order to generate an output is inefficient in terms of hardware resources, software overheads and processing time, and is completely unsuitable for low power, portable data processing systems, including wireless telecommunication systems, or for low cost data processing systems such as network terminals, etc. Other problems are encountered in conventional digital document processing systems, including the need to configure multiple system components (including both hardware and software components) to interact in the desired manner, and inconsistencies in the processing of identical source material by different systems (e.g., differences in formatting, color reproduction, etc.). In addition, the conventional approach to digital document processing is unable to exploit the commonality and/or re-usability of file format components.